#ifndef ACTION_H
#define ACTION_H

namespace actions
{
    /**
    * Application functionality
    */

    enum ActionTypeEnum
    {
        ActionType_UNDEF,
        ActionType_CANCEL,
    };


	class Action
	{
	    ActionTypeEnum type;
	public:
		Action(ActionTypeEnum type);
		virtual ~Action();

        friend std::ostream& operator << (std::ostream& os, const Action& act)
        {
            os << "(act: " << act.getType() << " )";
            return os;
        }

        ActionTypeEnum getType()const { return type; }

//		virtual void execute();

	protected:
	private:
	};
}

#endif // ACTION_H
